package com.zhl.math;

import java.math.BigDecimal;

public class BigDecimal3 {
    public static void main(String[] args) {
        //目标：掌握BigDecimal的使用,解决小数运算失真的问题
        double d1 = 0.1;
        double d2 = 0.2;
        double result = d1 + d2;
        System.out.println(result);

        System.out.println("-------------------------------------");
        BigDecimal bd1 = new BigDecimal(Double.toString(d1));
        BigDecimal bd2 = new BigDecimal(Double.toString(d2));
        BigDecimal result2 = bd1.add(bd2);
        System.out.println(result2);

        //简洁的写法
        BigDecimal result3 = BigDecimal.valueOf(d1).add(BigDecimal.valueOf(d2));
        System.out.println(result3);

        //或者 推荐以下的方法将字符串封装成BigDecimal对象来运算。
        BigDecimal a1 = BigDecimal.valueOf(0.1);
        BigDecimal a2 = BigDecimal.valueOf(0.2);
        BigDecimal result4 = a1.add(a2);
        System.out.println(result4);






    }
}
